﻿using DotNetty.Buffers;
using System.Collections.Generic;

namespace QQ.Client
{
    public class LoginSimpleInfo
    {
        public uint uin { get; set; }
        public short face { get; set; }
        public short age { get; set; }
        public short gender { get; set; }
        public string nick { get; set; }
        public short imgType { get; set; }
        public short imgFormat { get; set; }
        public IByteBuffer imgUrl { get; set; }
        public IByteBuffer mainDisplayName { get; set; }
    };

    public class C2cMessageSyncData
    {
        public IByteBuffer syncCookie { get; set; }
        public IByteBuffer pubAccountCookie { get; set; }
        public IByteBuffer msgCtrlBuf { get; set; }
    };

    public class LoginSigInfo
    {
        public uint uin { get; set; }
        public string password { get; set; }
        public IByteBuffer encryptA1 { get; set; }
        public IByteBuffer noPicSig { get; set; }
        public IByteBuffer G { get; set; }
        public IByteBuffer dpwd { get; set; }
        public IByteBuffer randSeed { get; set; }
        public LoginSimpleInfo simpleInfo { get; set; }
        public int appPri { get; set; }
        public int a2ExpiryTime { get; set; }
        public int loginBitmap { get; set; }
        public IByteBuffer tgt { get; set; }
        public uint a2CreationTime { get; set; }
        public IByteBuffer tgtKey { get; set; }
        public IByteBuffer sKey { get; set; }
        public IByteBuffer userSig64 { get; set; }
        public IByteBuffer accessToken { get; set; }
        public IByteBuffer openId { get; set; }
        public IByteBuffer openKey { get; set; }
        public IByteBuffer d2 { get; set; }
        public IByteBuffer d2Key { get; set; }
        public IByteBuffer sid { get; set; }
        public IByteBuffer aqSig { get; set; }
        public Dictionary<string, IByteBuffer> psKeyMap { get; set; }
        public Dictionary<string, IByteBuffer> pt4TokenMap { get; set; }
        public IByteBuffer superKey { get; set; }
        public IByteBuffer payToken { get; set; }
        public IByteBuffer pf { get; set; }
        public IByteBuffer pfKey { get; set; }
        public IByteBuffer da2 { get; set; }
        public IByteBuffer wtSessionTicket { get; set; }
        public IByteBuffer wtSessionTicketKey { get; set; }
        public IByteBuffer deviceToken { get; set; }
        public IByteBuffer vKey { get; set; }
        public IByteBuffer userStWebSig { get; set; }
        public IByteBuffer userStSig { get; set; }
        public IByteBuffer userStKey { get; set; }
        public IByteBuffer lsKey { get; set; }
        public IByteBuffer userA5 { get; set; }
        public IByteBuffer userA8 { get; set; }
        public IByteBuffer outgoingPacketSessionId { get; set; }
        public C2cMessageSyncData c2cMessageSyncData { get; set; }
    };
}
